//
//  SSWBTitleButton.swift
//  shanshanlol微博
//
//  Created by 叶竞泽 on 2017/1/21.
//  Copyright © 2017年 JingZe. All rights reserved.
//

import UIKit

class SSWBTitleButton: UIButton {
    
    
    /// 重载构造函数,title如果是nil,就显示首页,不是nil,就显示title和箭头图像
    ///
    /// - Parameter title: 标题
    init(title: String?) {
        
        super.init(frame: CGRect())
        
        // 1.判断title是否为nil
        if title == nil {
            setTitle("首页" + " ", for: .normal)
        } else {
            // 3.设置图像
            setTitle(title! + " ", for: .normal)
            setImage(UIImage(named: "navigationbar_arrow_down"), for: .normal)
            setImage(UIImage(named: "navigationbar_arrow_up"), for: .selected)
            // 设置大小
            sizeToFit()
            
        }
        
        // 2.设置字体和颜色
        titleLabel?.font = UIFont.boldSystemFont(ofSize: 17)
        setTitleColor(UIColor.darkGray, for: .normal)
        
    }
    
    /// 重新布局子视图,一定要使用super.layoutSubviews
    override func layoutSubviews() {
        super.layoutSubviews()
        
        // 调整按钮布局
        // 判断label和imageView是否同时存在,如果不是同时存在,就不需要调整lebel和imageView的位置
        guard let titleLabel = titleLabel, let imageView = imageView else {
            return
        }
        
        // 将label的位置向左移动imageView的宽度,将imageView向右移动label的宽度
        
        titleEdgeInsets = UIEdgeInsetsMake(0, -imageView.bounds.width, 0, imageView.bounds.width)
        imageEdgeInsets = UIEdgeInsetsMake(0, titleLabel.bounds.width, 0, -titleLabel.bounds.width)
        
    
    }
    
    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }
}
